/*
 * 终止线程
 *
 * 如果需要只终止某个线程而不是整个进程都终止，有三种方法
 *
 *	2.一个线程可以调用pthread_cancel() 终止同一进程中的另一个线程。
 *	3.线程可以调用 pthread_exit() 终止自己
 */

#include <stdio.h>
#include <unistd.h>
#include <pthread.h>


// 终止线程 方法3


void * run(void *arg)
{
    printf("1 .. \n");
    printf("2 .. \n");
    sleep(1);
    printf("3 .. \n");
    printf("4 .. \n");
    pthread_exit(NULL);
    printf("never output .\n");
}

int main()
{
    pthread_t tid1; 
    pthread_create(&tid1, NULL, run, NULL);

    sleep(3);
    printf("thread quit, I should quit.\n");
    return 0;
}
